8 research outputs found

    Auto-generador de clases Java a partir de metadatos de una base de datos

    Get PDF
    Las aplicaciones empresariales necesitan, para tareas de soporte, pantallas que accedan directamente a los datos "en crudo" contenidos en las tablas de la base de datos, y que permitan editar, visualizar o insertar nuevos. Existen algunas herramientas que permiten generar una versión inicial de las clases Java que conforman estas pantallas, pero requieren siempre de ajustes manuales para que sean debidamente utilizables por un usuario. Esto se debe a varias causas, que están relacionados con la falta de visibilidad sobre la relación referencial (claves externas) entre las diversas tablas de una aplicación. Pensando en el software SILO de HP, se propone crear un generador automático de clases Java que tenga en cuenta los metadatos que cualquier base de datos contiene acerca de la estructura referencial de las entidades que la componen, y los utilice para adecuar un conjunto de plantillas existentes y así generar clases Java y paginas xhtml que conformen pantallas de soporte finales, sin necesidad de ajustes posteriores por parte de desarrolladores. Objetivos del proyecto: 1- Generar ficheros XML por cada tabla deseada que contenga toda la información a cerca de los metadatos y las restricciones (claves primarias y claves importadas) de dicha tabla. 2- Usando los XML antes generados, y mediante transformaciones XSL, se generaran las clases java con la información de los metadatos y restricciones de las tablas, así como las paginas xhtml que permitirán el acceso a las tablas. 3- En el caso de las paginas que listan los datos de una tabla, se creara una metodología que permita importar campos clave de las tuplas referenciadas por las columnas que son claves importadas, para así poder mostrar los datos de una manera mas fácilmente interpretable por un usuario

    Selección de contenidos basada en reuso para caches compartidas en exclusión

    Get PDF
    El flujo de referencias que llega a una cache compartida de último nivel (SLLC) en sistemas CMP muestra poca localidad temporal. Si se realiza una gestión convencional, basada en esta localidad, el uso de la cache es ineficiente. Sin embargo, muestra localidad de reuso. En este trabajo se propone un nuevo mecanismo de selección de contenidos para caches exclusivas que aprovecha dicha localidad de reuso. Consiste en incluir un elemento denominado Detector de Reuso entre cada cache L2 y la SLLC, al que se dirigen todos los bloques expulsados de la cache L2. Su misión es detectar bloques sin reuso para evitar que sean insertados en la SLLC, realizando bypass de los mismos

    Near-optimal replacement policies for shared caches in multicore processors

    Get PDF
    An optimal replacement policy that minimizes the miss rate in a private cache was proposed several decades ago. It requires knowing the future access sequence the cache will receive. There is no equivalent for shared caches because replacement decisions alter this future sequence. We present a novel near-optimal policy for minimizing the miss rate in a shared cache that approaches the optimal execution iteratively. During each iteration, the future access sequence is reconstructed on every miss interleaving the future per-core sequences, taken from the previous iteration. This single sequence feeds a classical private-cache optimum replacement policy. Our evaluation on a shared last-level cache shows that our proposal iteratively converges to a near-optimal miss rate that is independent of the initial conditions, within a margin of 0.1%. The best state-of-the-art online policies achieve around 65% of the miss rate reduction obtained by our near-optimal proposal. In a shared cache, miss rate optimization does not imply the optimization of other metrics. Therefore, we also propose a new near-optimal policy to maximize fairness between cores. The best state-of-the-art online policy achieves 60% of the improvement in fairness seen with our near-optimal policy. Our proposals are useful both for setting upper performance bounds and inspiring implementable mechanisms for shared caches.The authors acknowledge support from grants (1) PID2019-105660RB-C21 and PID2019-107255GB-C22 from Agencia Estatal de Investigación (AEI) from Spain and European Regional Development Fund (ERDF); (2) gaZ: T58_20R research group from Aragón Government and European Social Fund (ESF); and (3) 2014-2020 "Construyendo Europa desde Aragón" from European Regional Development Fund (ERDF).Peer ReviewedPostprint (author's final draft

    ReD: A policy based on reuse detection for demanding block selection in last-level Caches

    Get PDF
    In this paper, we propose a new block selection policy for Last-Level Caches (LLCs) that decides, based on Reuse Detection, whether a block coming from main memory is inserted, or not, in the LLC. The proposed policy, called ReD, is demanding in the sense that blocks bypass the LLC unless their expected reuse behavior matches specific requirements, related either to their recent reuse history or to the behavior of associated instructions. Generally, blocks are only stored in the LLC the second time they are requested in a limited time window. Secondarily, some blocks enter the LLC on the first request if their associated requesting instruction has shown to request highly-reused blocks in the past. ReD includes two table structures that allow tracking, measuring and correlating reuse for specific block addresses and requesting program counters within a constrained storage budget. It can be implemented on top of any other base replacement algorithm. Other parts of the base replacement policy, such as promotion or victim selection, can remain unchanged, enabling our policy to work along with many state-of-the-art replacement algorithms.Peer ReviewedPostprint (published version

    Reuse Detector: improving the management of STT-RAM SLLCs

    Get PDF
    Various constraints of Static Random Access Memory (SRAM) are leading to consider new memory technologies as candidates for building on-chip shared last-level caches (SLLCs). Spin-Transfer Torque RAM (STT-RAM) is currently postulated as the prime contender due to its better energy efficiency, smaller die footprint and higher scalability. However, STT-RAM also exhibits some drawbacks, like slow and energy-hungry write operations that need to be mitigated before it can be used in SLLCs for the next generation of computers. In this work, we address these shortcomings by leveraging a new management mechanism for STT-RAM SLLCs. This approach is based on the previous observation that although the stream of references arriving at the SLLC of a Chip MultiProcessor (CMP) exhibits limited temporal locality, it does exhibit reuse locality, i.e. those blocks referenced several times manifest high probability of forthcoming reuse. As such, conventional STT-RAM SLLC management mechanisms, mainly focused on exploiting temporal locality, result in low efficient behavior. In this paper, we employ a cache management mechanism that selects the contents of the SLLC aimed to exploit reuse locality instead of temporal locality. Specifically, our proposal consists in the inclusion of a Reuse Detector (RD) between private cache levels and the STT-RAM SLLC. Its mission is to detect blocks that do not exhibit reuse, in order to avoid their insertion in the SLLC, hence reducing the number of write operations and the energy consumption in the STT-RAM. Our evaluation, using multiprogrammed workloads in quad-core, eight-core and 16-core systems, reveals that our scheme reports on average, energy reductions in the SLLC in the range of 37–30%, additional energy savings in the main memory in the range of 6–8% and performance improvements of 3% (quad-core), 7% (eight-core) and 14% (16-core) compared with an STT-RAM SLLC baseline where no RD is employed. More importantly, our approach outperforms DASCA, the state-of-the-art STT-RAM SLLC management, reporting—depending on the specific scenario and the kind of applications used—SLLC energy savings in the range of 4–11% higher than those of DASCA, delivering higher performance in the range of 1.5–14% and additional improvements in DRAM energy consumption in the range of 2–9% higher than DASCA.Peer ReviewedPostprint (author's final draft

    ReD: A policy based on reuse detection for demanding block selection in last-level Caches

    Get PDF
    In this paper, we propose a new block selection policy for Last-Level Caches (LLCs) that decides, based on Reuse Detection, whether a block coming from main memory is inserted, or not, in the LLC. The proposed policy, called ReD, is demanding in the sense that blocks bypass the LLC unless their expected reuse behavior matches specific requirements, related either to their recent reuse history or to the behavior of associated instructions. Generally, blocks are only stored in the LLC the second time they are requested in a limited time window. Secondarily, some blocks enter the LLC on the first request if their associated requesting instruction has shown to request highly-reused blocks in the past. ReD includes two table structures that allow tracking, measuring and correlating reuse for specific block addresses and requesting program counters within a constrained storage budget. It can be implemented on top of any other base replacement algorithm. Other parts of the base replacement policy, such as promotion or victim selection, can remain unchanged, enabling our policy to work along with many state-of-the-art replacement algorithms.Peer Reviewe

    Selección de contenidos basada en reuso para caches compartidas en exclusión

    Get PDF
    Publicaciones previas revelan que el flujo de referencias que llega a la cache compartida (SLLC) de un chip multiprocesador muestra poca localidad temporal. Sin embargo, muestra localidad de reuso, es decir, los bloques referenciados varias veces tienen más probabilidad de ser referenciados en un futuro. Esto provoca que, si se realiza una gestión convencional, el uso de la cache es ineficiente. Existen varias propuestas que abordan este problema para caches inclusivas, pero pocas que se centren en caches exclusivas. En este trabajo se propone un nuevo mecanismo de selección de contenidos para caches exclusivas que aprovecha la localidad de reuso que presentan los accesos a la SLLC. Consiste en incluir un Detector de Reuso entre cada cache L2 y la SLLC. Su misión es detectar bloques sin reuso para evitar que sean insertados en la SLLC. Esta propuesta se evalúa con un conjunto de cargas multiprogramadas ejecutando en un simulador detallado de un sistema con 8 procesadores en chip y su jerarquía de memoria. Los resultados muestran que el Detector de Reuso permite incrementar el rendimiento por encima de otras propuestas recientes como CHAR o la Reuse Cache. Por ejemplo, para una configuración del Detector de Reuso balanceada entre coste y prestaciones, se obtiene un 8,5% de reducción de la tasa de fallos de la SLLC y un incremento del IPC de un 2,5%, frente a un sistema base con reemplazo TC-AGE.Peer Reviewe

    Selección de contenidos basada en reuso para caches compartidas en exclusión

    No full text
    Publicaciones previas revelan que el flujo de referencias que llega a la cache compartida (SLLC) de un chip multiprocesador muestra poca localidad temporal. Sin embargo, muestra localidad de reuso, es decir, los bloques referenciados varias veces tienen más probabilidad de ser referenciados en un futuro. Esto provoca que, si se realiza una gestión convencional, el uso de la cache es ineficiente. Existen varias propuestas que abordan este problema para caches inclusivas, pero pocas que se centren en caches exclusivas. En este trabajo se propone un nuevo mecanismo de selección de contenidos para caches exclusivas que aprovecha la localidad de reuso que presentan los accesos a la SLLC. Consiste en incluir un Detector de Reuso entre cada cache L2 y la SLLC. Su misión es detectar bloques sin reuso para evitar que sean insertados en la SLLC. Esta propuesta se evalúa con un conjunto de cargas multiprogramadas ejecutando en un simulador detallado de un sistema con 8 procesadores en chip y su jerarquía de memoria. Los resultados muestran que el Detector de Reuso permite incrementar el rendimiento por encima de otras propuestas recientes como CHAR o la Reuse Cache. Por ejemplo, para una configuración del Detector de Reuso balanceada entre coste y prestaciones, se obtiene un 8,5% de reducción de la tasa de fallos de la SLLC y un incremento del IPC de un 2,5%, frente a un sistema base con reemplazo TC-AGE.Peer Reviewe
    corecore